import os


class DirectoryConfig:
    OUTPUT_DIR = r"D:\osc\OCS02"
    TEMP_DIR = r"D:\osc\OCS02\temp"
    LOG_DIR = r"D:\osc\OCS02\logs"

    @classmethod
    def ensure_all_dirs_exist(cls):
        """确保所有配置的目录存在，需要事先显示运行"""
        for attr, value in cls.__dict__.items():
            if attr.endswith('_DIR') and isinstance(value, str):
                os.makedirs(value, exist_ok=True)


class Debugs:
    seed = 1
    unit_component_late_acceptance_penalty_by_day = 1000
    unit_late_delivery_penalty_by_day = 1000
    unit_project_late_completion_penalty_by_day = 5000
    # total buffer is sqrt of sum of buffer (1) squares: sqrt(18)
    project_deadline = 110 + 5

    size_pop = 10
    max_iter = 20


class Commons:
    being_interrupted_process_list = []
    main_process_list = []

class PlotConstants:
    THEO_COLOR = 'black'
    THEO_LINE = '-'
    EMP_COLOR = '#1f77b4'  # 蓝色，高对比
    EMP_LINE = '--'

class Constants:
    # A scenario is one complete possible realization of the project's uncertain parameters, used to evaluate performance
    # under stochastic conditions.
    '''
    Simulates real-world scenarios by generating multiple input samples from probability distributions, computes cost outputs for each,
    and estimates true expected cost through averaging (Law of Large Numbers convergence). Required scenario count grows exponentially
    with decision variables (curse of dimensionality) and model nonlinearity. For computational efficiency, consider variance reduction
    techniques like Latin Hypercube Sampling when generating scenarios. Note: Convergence assumes i.i.d. samples and sufficient scenario
    count relative to model complexity
    '''
    SCENARIO_NUM = 1000

    SEED = 1

    WORKING_HOURS = 10
    # year in
    # number of standard floor
    N_STD_FLR = 16
    N_ACTIVITY = 18
    # parameters of erection duration of each activity which obeys triangle distribution
    STANDARD_FLOOR_ERECTION_LEFT = 4
    STANDARD_FLOOR_ERECTION_MODE = 5
    STANDARD_FLOOR_ERECTION_RIGHT = 8
    # means of component delivery delay which obeys normal distribution
    COMPONENT_DELIVERY_DELAY_LOC = -4
    # standard deviation of component delivery delay which obeys normal distribution
    COMPONENT_DELIVERY_DELAY_SCALE = 2

    CRANE_MTTF = 3000

    YEAR_STR_REPRESENTING_PRECIPITATION = '2012'
    PRECIPITATION_TIMES_ON_DAYS_IN_12_YEARS = \
        {
            "20120101": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120102": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120103": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120104": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120105": [0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0],
            "20120106": [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0],
            "20120107": [0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0],
            "20120108": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120109": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120110": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120111": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120112": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120113": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120114": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120115": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120116": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120117": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120118": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120119": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120120": [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120121": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20120122": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120123": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120124": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120125": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120126": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120127": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120128": [1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0],
            "20120129": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120130": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20120131": [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120201": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120202": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120203": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120204": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120205": [0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120206": [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120207": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120208": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120209": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120210": [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20120211": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120212": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1],
            "20120213": [1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1],
            "20120214": [0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0],
            "20120215": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120216": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120217": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120218": [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20120219": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120220": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120221": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120222": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120223": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120224": [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0],
            "20120225": [1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0],
            "20120226": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120227": [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0],
            "20120228": [0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0],
            "20120229": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120301": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120302": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120303": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120304": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120305": [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0],
            "20120306": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120307": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120308": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120309": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120310": [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
            "20120311": [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1],
            "20120312": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120313": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
            "20120314": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120315": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120316": [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120317": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1],
            "20120318": [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1],
            "20120319": [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1],
            "20120320": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120321": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120322": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120323": [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120324": [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1],
            "20120325": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120326": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120327": [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0],
            "20120328": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120329": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1],
            "20120330": [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120331": [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120401": [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],
            "20120402": [1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0],
            "20120403": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120404": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
            "20120405": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120406": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120407": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120408": [0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0],
            "20120409": [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
            "20120410": [1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120411": [0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0],
            "20120412": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120413": [0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0],
            "20120414": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],
            "20120415": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20120416": [0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0],
            "20120417": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120418": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120419": [0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0],
            "20120420": [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0],
            "20120421": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120422": [1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0],
            "20120423": [1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120424": [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0],
            "20120425": [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120426": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120427": [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1],
            "20120428": [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120429": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120430": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120501": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120502": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0],
            "20120503": [0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
            "20120504": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120505": [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1],
            "20120506": [0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1],
            "20120507": [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20120508": [1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1],
            "20120509": [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0],
            "20120510": [1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0],
            "20120511": [0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1],
            "20120512": [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0],
            "20120513": [0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120514": [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0],
            "20120515": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120516": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120517": [0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0],
            "20120518": [1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120519": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120520": [1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120521": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120522": [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0],
            "20120523": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120524": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120525": [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120526": [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20120527": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120528": [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120529": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120530": [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0],
            "20120531": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120601": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120602": [0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0],
            "20120603": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20120604": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120605": [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0],
            "20120606": [1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0],
            "20120607": [0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1],
            "20120608": [0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
            "20120609": [1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0],
            "20120610": [0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1],
            "20120611": [1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1],
            "20120612": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
            "20120613": [0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1],
            "20120614": [0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0],
            "20120615": [0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120616": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120617": [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1],
            "20120618": [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0],
            "20120619": [0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0],
            "20120620": [0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0],
            "20120621": [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1],
            "20120622": [1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1],
            "20120623": [1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0],
            "20120624": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],
            "20120625": [0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0],
            "20120626": [1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1],
            "20120627": [1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1],
            "20120628": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1],
            "20120629": [0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1],
            "20120630": [0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0],
            "20120701": [1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120702": [1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1],
            "20120703": [1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1],
            "20120704": [0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1],
            "20120705": [0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1],
            "20120706": [1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0],
            "20120707": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120708": [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120709": [0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1],
            "20120710": [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
            "20120711": [0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1],
            "20120712": [0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1],
            "20120713": [0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0],
            "20120714": [0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0],
            "20120715": [0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0],
            "20120716": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0],
            "20120717": [0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0],
            "20120718": [1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0],
            "20120719": [1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0],
            "20120720": [1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0],
            "20120721": [0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0],
            "20120722": [0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1],
            "20120723": [0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0],
            "20120724": [1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1],
            "20120725": [1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1],
            "20120726": [0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1],
            "20120727": [0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1],
            "20120728": [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0],
            "20120729": [1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0],
            "20120730": [1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1],
            "20120731": [0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0],
            "20120801": [1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0],
            "20120802": [1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0],
            "20120803": [0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0],
            "20120804": [0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1],
            "20120805": [1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
            "20120806": [1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
            "20120807": [1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1],
            "20120808": [0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1],
            "20120809": [0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1],
            "20120810": [1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0],
            "20120811": [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],
            "20120812": [1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0],
            "20120813": [0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1],
            "20120814": [0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1],
            "20120815": [1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0],
            "20120816": [1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0],
            "20120817": [0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1],
            "20120818": [1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1],
            "20120819": [1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
            "20120820": [0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0],
            "20120821": [0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1],
            "20120822": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20120823": [0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1],
            "20120824": [0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0],
            "20120825": [0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0],
            "20120826": [1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0],
            "20120827": [1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0],
            "20120828": [1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1],
            "20120829": [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0],
            "20120830": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120831": [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
            "20120901": [1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0],
            "20120902": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120903": [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1],
            "20120904": [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
            "20120905": [0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0],
            "20120906": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20120907": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120908": [0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0],
            "20120909": [0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],
            "20120910": [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
            "20120911": [1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0],
            "20120912": [1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
            "20120913": [1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0],
            "20120914": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120915": [1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120916": [1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0],
            "20120917": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120918": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120919": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],
            "20120920": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0],
            "20120921": [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1],
            "20120922": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20120923": [0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20120924": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],
            "20120925": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],
            "20120926": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0],
            "20120927": [0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120928": [1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0],
            "20120929": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],
            "20120930": [0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0],
            "20121001": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
            "20121002": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1],
            "20121003": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],
            "20121004": [0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0],
            "20121005": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121006": [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],
            "20121007": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1],
            "20121008": [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
            "20121009": [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0],
            "20121010": [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0],
            "20121011": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121012": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121013": [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20121014": [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20121015": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0],
            "20121016": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
            "20121017": [0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0],
            "20121018": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121019": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121020": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121021": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121022": [1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121023": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121024": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121025": [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0],
            "20121026": [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0],
            "20121027": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121028": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121029": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20121030": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121031": [0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
            "20121101": [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121102": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1],
            "20121103": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121104": [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121105": [1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121106": [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
            "20121107": [1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0],
            "20121108": [0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0],
            "20121109": [0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1],
            "20121110": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121111": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
            "20121112": [0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0],
            "20121113": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121114": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121115": [0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121116": [1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0],
            "20121117": [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121118": [1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1],
            "20121119": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20121120": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121121": [1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0],
            "20121122": [0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0],
            "20121123": [0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0],
            "20121124": [0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0],
            "20121125": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121126": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121127": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121128": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121129": [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121130": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],
            "20121201": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
            "20121202": [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0],
            "20121203": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20121204": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
            "20121205": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121206": [1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0],
            "20121207": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121208": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121209": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121210": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121211": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0],
            "20121212": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121213": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121214": [0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0],
            "20121215": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20121216": [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
            "20121217": [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121218": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121219": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121220": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121221": [0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121222": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121223": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121224": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
            "20121225": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0],
            "20121226": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121227": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
            "20121228": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            "20121229": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20121230": [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
            "20121231": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        }
    # PRECIPITATION = {
    #     '1-1': 0.00,
    #     '1-2': 0.00,
    #     '1-3': 0.00,
    #     '1-4': 0.09,
    #     '1-5': 0.36,
    #     '1-6': 0.18,
    #     '1-7': 0.36,
    #     '1-8': 0.09,
    #     '1-9': 0.00,
    #     '1-10': 0.00,
    #     '1-11': 0.00,
    #     '1-12': 0.00,
    #     '1-13': 0.09,
    #     '1-14': 0.00,
    #     '1-15': 0.00,
    #     '1-16': 0.09,
    #     '1-17': 0.09,
    #     '1-18': 0.00,
    #     '1-19': 0.09,
    #     '1-20': 0.18,
    #     '1-21': 0.00,
    #     '1-22': 0.09,
    #     '1-23': 0.00,
    #     '1-24': 0.09,
    #     '1-25': 0.09,
    #     '1-26': 0.09,
    #     '1-27': 0.00,
    #     '1-28': 0.36,
    #     '1-29': 0.09,
    #     '1-30': 0.09,
    #     '1-31': 0.27,
    #     '2-1': 0.00,
    #     '2-2': 0.09,
    #     '2-3': 0.09,
    #     '2-4': 0.09,
    #     '2-5': 0.27,
    #     '2-6': 0.18,
    #     '2-7': 0.09,
    #     '2-8': 0.00,
    #     '2-9': 0.00,
    #     '2-10': 0.18,
    #     '2-11': 0.09,
    #     '2-12': 0.18,
    #     '2-13': 0.36,
    #     '2-14': 0.36,
    #     '2-15': 0.09,
    #     '2-16': 0.18,
    #     '2-17': 0.09,
    #     '2-18': 0.18,
    #     '2-19': 0.00,
    #     '2-20': 0.09,
    #     '2-21': 0.09,
    #     '2-22': 0.00,
    #     '2-23': 0.00,
    #     '2-24': 0.27,
    #     '2-25': 0.36,
    #     '2-26': 0.18,
    #     '2-27': 0.27,
    #     '2-28': 0.36,
    #     '2-29': 0.00,
    #     '3-1': 0.09,
    #     '3-2': 0.18,
    #     '3-3': 0.00,
    #     '3-4': 0.09,
    #     '3-5': 0.18,
    #     '3-6': 0.00,
    #     '3-7': 0.09,
    #     '3-8': 0.00,
    #     '3-9': 0.00,
    #     '3-10': 0.18,
    #     '3-11': 0.27,
    #     '3-12': 0.09,
    #     '3-13': 0.09,
    #     '3-14': 0.00,
    #     '3-15': 0.00,
    #     '3-16': 0.18,
    #     '3-17': 0.09,
    #     '3-18': 0.27,
    #     '3-19': 0.36,
    #     '3-20': 0.00,
    #     '3-21': 0.00,
    #     '3-22': 0.09,
    #     '3-23': 0.18,
    #     '3-24': 0.18,
    #     '3-25': 0.00,
    #     '3-26': 0.09,
    #     '3-27': 0.18,
    #     '3-28': 0.09,
    #     '3-29': 0.18,
    #     '3-30': 0.18,
    #     '3-31': 0.18,
    #     '4-1': 0.27,
    #     '4-2': 0.45,
    #     '4-3': 0.09,
    #     '4-4': 0.09,
    #     '4-5': 0.18,
    #     '4-6': 0.09,
    #     '4-7': 0.00,
    #     '4-8': 0.27,
    #     '4-9': 0.18,
    #     '4-10': 0.27,
    #     '4-11': 0.45,
    #     '4-12': 0.09,
    #     '4-13': 0.45,
    #     '4-14': 0.18,
    #     '4-15': 0.09,
    #     '4-16': 0.27,
    #     '4-17': 0.09,
    #     '4-18': 0.18,
    #     '4-19': 0.45,
    #     '4-20': 0.36,
    #     '4-21': 0.18,
    #     '4-22': 0.36,
    #     '4-23': 0.18,
    #     '4-24': 0.36,
    #     '4-25': 0.27,
    #     '4-26': 0.09,
    #     '4-27': 0.18,
    #     '4-28': 0.18,
    #     '4-29': 0.09,
    #     '4-30': 0.00,
    #     '5-1': 0.09,
    #     '5-2': 0.27,
    #     '5-3': 0.27,
    #     '5-4': 0.00,
    #     '5-5': 0.27,
    #     '5-6': 0.36,
    #     '5-7': 0.18,
    #     '5-8': 0.45,
    #     '5-9': 0.27,
    #     '5-10': 0.36,
    #     '5-11': 0.27,
    #     '5-12': 0.27,
    #     '5-13': 0.27,
    #     '5-14': 0.27,
    #     '5-15': 0.27,
    #     '5-16': 0.09,
    #     '5-17': 0.27,
    #     '5-18': 0.27,
    #     '5-19': 0.09,
    #     '5-20': 0.18,
    #     '5-21': 0.18,
    #     '5-22': 0.18,
    #     '5-23': 0.09,
    #     '5-24': 0.09,
    #     '5-25': 0.27,
    #     '5-26': 0.18,
    #     '5-27': 0.00,
    #     '5-28': 0.18,
    #     '5-29': 0.09,
    #     '5-30': 0.27,
    #     '5-31': 0.09,
    #     '6-1': 0.18,
    #     '6-2': 0.36,
    #     '6-3': 0.09,
    #     '6-4': 0.00,
    #     '6-5': 0.18,
    #     '6-6': 0.45,
    #     '6-7': 0.36,
    #     '6-8': 0.27,
    #     '6-9': 0.36,
    #     '6-10': 0.45,
    #     '6-11': 0.45,
    #     '6-12': 0.09,
    #     '6-13': 0.18,
    #     '6-14': 0.36,
    #     '6-15': 0.36,
    #     '6-16': 0.09,
    #     '6-17': 0.27,
    #     '6-18': 0.27,
    #     '6-19': 0.27,
    #     '6-20': 0.27,
    #     '6-21': 0.18,
    #     '6-22': 0.36,
    #     '6-23': 0.36,
    #     '6-24': 0.18,
    #     '6-25': 0.36,
    #     '6-26': 0.36,
    #     '6-27': 0.55,
    #     '6-28': 0.18,
    #     '6-29': 0.45,
    #     '6-30': 0.55,
    #     '7-1': 0.45,
    #     '7-2': 0.36,
    #     '7-3': 0.45,
    #     '7-4': 0.36,
    #     '7-5': 0.27,
    #     '7-6': 0.45,
    #     '7-7': 0.09,
    #     '7-8': 0.27,
    #     '7-9': 0.64,
    #     '7-10': 0.91,
    #     '7-11': 0.45,
    #     '7-12': 0.45,
    #     '7-13': 0.45,
    #     '7-14': 0.64,
    #     '7-15': 0.55,
    #     '7-16': 0.27,
    #     '7-17': 0.36,
    #     '7-18': 0.64,
    #     '7-19': 0.36,
    #     '7-20': 0.45,
    #     '7-21': 0.18,
    #     '7-22': 0.45,
    #     '7-23': 0.64,
    #     '7-24': 0.64,
    #     '7-25': 0.55,
    #     '7-26': 0.36,
    #     '7-27': 0.55,
    #     '7-28': 0.45,
    #     '7-29': 0.73,
    #     '7-30': 0.64,
    #     '7-31': 0.82,
    #     '8-1': 0.91,
    #     '8-2': 0.55,
    #     '8-3': 0.27,
    #     '8-4': 0.45,
    #     '8-5': 0.91,
    #     '8-6': 0.82,
    #     '8-7': 0.36,
    #     '8-8': 0.36,
    #     '8-9': 0.36,
    #     '8-10': 0.45,
    #     '8-11': 0.27,
    #     '8-12': 0.45,
    #     '8-13': 0.55,
    #     '8-14': 0.36,
    #     '8-15': 0.55,
    #     '8-16': 0.55,
    #     '8-17': 0.27,
    #     '8-18': 0.45,
    #     '8-19': 0.45,
    #     '8-20': 0.36,
    #     '8-21': 0.36,
    #     '8-22': 0.09,
    #     '8-23': 0.27,
    #     '8-24': 0.27,
    #     '8-25': 0.27,
    #     '8-26': 0.36,
    #     '8-27': 0.45,
    #     '8-28': 0.45,
    #     '8-29': 0.27,
    #     '8-30': 0.18,
    #     '8-31': 0.27,
    #     '9-1': 0.36,
    #     '9-2': 0.09,
    #     '9-3': 0.18,
    #     '9-4': 0.18,
    #     '9-5': 0.36,
    #     '9-6': 0.18,
    #     '9-7': 0.27,
    #     '9-8': 0.36,
    #     '9-9': 0.27,
    #     '9-10': 0.27,
    #     '9-11': 0.27,
    #     '9-12': 0.36,
    #     '9-13': 0.27,
    #     '9-14': 0.18,
    #     '9-15': 0.27,
    #     '9-16': 0.36,
    #     '9-17': 0.18,
    #     '9-18': 0.00,
    #     '9-19': 0.18,
    #     '9-20': 0.27,
    #     '9-21': 0.27,
    #     '9-22': 0.09,
    #     '9-23': 0.27,
    #     '9-24': 0.18,
    #     '9-25': 0.18,
    #     '9-26': 0.18,
    #     '9-27': 0.36,
    #     '9-28': 0.45,
    #     '9-29': 0.18,
    #     '9-30': 0.18,
    #     '10-1': 0.09,
    #     '10-2': 0.09,
    #     '10-3': 0.09,
    #     '10-4': 0.27,
    #     '10-5': 0.18,
    #     '10-6': 0.27,
    #     '10-7': 0.18,
    #     '10-8': 0.18,
    #     '10-9': 0.36,
    #     '10-10': 0.27,
    #     '10-11': 0.00,
    #     '10-12': 0.09,
    #     '10-13': 0.18,
    #     '10-14': 0.18,
    #     '10-15': 0.18,
    #     '10-16': 0.18,
    #     '10-17': 0.36,
    #     '10-18': 0.00,
    #     '10-19': 0.09,
    #     '10-20': 0.09,
    #     '10-21': 0.09,
    #     '10-22': 0.27,
    #     '10-23': 0.18,
    #     '10-24': 0.00,
    #     '10-25': 0.18,
    #     '10-26': 0.18,
    #     '10-27': 0.00,
    #     '10-28': 0.09,
    #     '10-29': 0.00,
    #     '10-30': 0.18,
    #     '10-31': 0.36,
    #     '11-1': 0.27,
    #     '11-2': 0.09,
    #     '11-3': 0.18,
    #     '11-4': 0.18,
    #     '11-5': 0.27,
    #     '11-6': 0.27,
    #     '11-7': 0.45,
    #     '11-8': 0.45,
    #     '11-9': 0.36,
    #     '11-10': 0.09,
    #     '11-11': 0.09,
    #     '11-12': 0.18,
    #     '11-13': 0.09,
    #     '11-14': 0.00,
    #     '11-15': 0.18,
    #     '11-16': 0.36,
    #     '11-17': 0.18,
    #     '11-18': 0.27,
    #     '11-19': 0.09,
    #     '11-20': 0.09,
    #     '11-21': 0.55,
    #     '11-22': 0.27,
    #     '11-23': 0.45,
    #     '11-24': 0.27,
    #     '11-25': 0.09,
    #     '11-26': 0.09,
    #     '11-27': 0.09,
    #     '11-28': 0.09,
    #     '11-29': 0.18,
    #     '11-30': 0.18,
    #     '12-1': 0.09,
    #     '12-2': 0.18,
    #     '12-3': 0.09,
    #     '12-4': 0.09,
    #     '12-5': 0.09,
    #     '12-6': 0.27,
    #     '12-7': 0.00,
    #     '12-8': 0.00,
    #     '12-9': 0.00,
    #     '12-10': 0.00,
    #     '12-11': 0.18,
    #     '12-12': 0.09,
    #     '12-13': 0.09,
    #     '12-14': 0.27,
    #     '12-15': 0.09,
    #     '12-16': 0.18,
    #     '12-17': 0.18,
    #     '12-18': 0.00,
    #     '12-19': 0.00,
    #     '12-20': 0.00,
    #     '12-21': 0.18,
    #     '12-22': 0.09,
    #     '12-23': 0.09,
    #     '12-24': 0.09,
    #     '12-25': 0.18,
    #     '12-26': 0.09,
    #     '12-27': 0.09,
    #     '12-28': 0.09,
    #     '12-29': 0.18,
    #     '12-30': 0.18,
    #     '12-31': 0.00
    # }


if __name__ == '__main__':
    print(Constants.PRECIPITATION_TIMES_ON_DAYS_IN_12_YEARS['20121220'])
    print(Constants.PRECIPITATION_TIMES_ON_DAYS_IN_12_YEARS['20121221'])
